1. Field of the Invention
The present general inventive concept relates to a digital audio playback system, and more particularly, to an audio playback speed control method and apparatus to control an audio playback speed using an optimal frame length with a small amount of calculation.
2. Description of the Related Art
In general, digital audio playback apparatuses or portable multimedia apparatuses use a time-scale modification technique, such as a Synchronized OverLap-and-Add (SOLA) technique or a Waveform Similarity OverLap-and-Add (WSOLA) technique, in order to control an audio playback speed. The SOLA technique is performed by averaging, overlapping, and adding a frame that is to be modified at a location where a cross-correlation between the frame and a previously modified frame is a maximum.
It is assumed that x(n) denotes an input sound signal and y(n) denotes a time-scale modified signal. Also, it is assumed that N denotes the length of a frame, Sa denotes a frame shift of the input sound signal, and Ss denotes a frame shift of the time-scale modified signal. A modification ratio a is obtained by Sa/Ss. Here, if a is greater than 1, the time-scale modification corresponds to time-scale compression, and if a is less than 1, the time-scale modification corresponds to time-scale expansion.
If N samples of the input sound signal x(n) in a period Ss compose the time-scale modified signal y(n) for each period Sa, Ss=Sa/a is satisfied.
The SOLA technique duplicates a first frame from x(n) to y(n). An mth input signal x(mSa+j)(0≦j≦N−1) is synchronized with and added to an adjacent time-scale modified signal y(mSs+j). In order to maximize the cross-correlation between a current frame and a previous frame, the current frame is moved. Therefore, the SOLA technique allows a frame to have its own size of overlapping region in order to modify the time-scale of the input signal without influencing the pitch of the input signal. A normalized cross-correlation coefficient Rm of the SOLA technique in an mth frame is obtained with respect to a frame arrangement offset k of an allowable range as illustrated in Equation 1.
                                                        R              m                        ⁡                          (              k              )                                =                                                    ∑                                  j                  =                  0                                                  L                  -                  1                                            ⁢                                                v                  ⁡                                      (                                                                  mS                        s                                            +                      k                      +                      j                                        )                                                  ⁢                                  x                  ⁡                                      (                                                                  mS                        a                                            +                      j                                        )                                                                                                                        ∑                                      j                    =                    0                                                        L                    -                    1                                                  ⁢                                                                            x                      2                                        ⁡                                          (                                                                        mS                          a                                                +                        j                                            )                                                        ⁢                                                            ∑                                              j                        =                        0                                                                    L                        -                        1                                                              ⁢                                                                  y                        2                                            ⁡                                              (                                                                              mS                            a                                                    +                          k                          +                          j                                                )                                                                                                                                ⁢                                  ⁢                              for            ⁢                                                  -                          N              2                                ≤          k          ≤                                    N              2                        .                                              [                  Equation          ⁢                                          ⁢          1                ]            
Here, x(n) denotes an input signal for the time-scale modification, y(n) denotes a time-scale modified signal, m denotes a frame number, and L denotes a length of a region in which x(n) and y(n) overlap.
Therefore, if Rm is determined, y(n) is updated as illustrated in Equation 2.
                              y          ⁡                      (                                          mS                s                            +                              k                m                            +              j                        )                          =                  {                                                                                                                (                                              1                        -                                                  j                          ⁡                                                      (                            j                            )                                                                                              )                                        ⁢                                          y                      ⁡                                              (                                                                              mS                            s                                                    +                                                      k                            m                                                    +                          j                                                )                                                                              +                                                            j                      ⁡                                              (                        j                        )                                                              ⁢                                          x                      ⁡                                              (                                                                              mS                            a                                                    +                          j                                                )                                                                                                                                                              for                    ⁢                                                                                  ⁢                    0                                    ≤                  j                  ≤                                                            L                      m                                        -                    1                                                                                                                        x                  ⁡                                      (                                                                  mS                        a                                            +                      j                                        )                                                                                                                    for                    ⁢                                                                                  ⁢                                          L                      m                                                        ≤                  j                  ≤                                      N                    -                    1.                                                                                                          [                  Equation          ⁢                                          ⁢          2                ]            
Here, Lm denotes an overlapping region between two signals, in which the determined Rm is included, and ƒ(j) denotes a weighting function resulting in 0≦ƒ(j)≦1.
However, since the SOLA or WSOLA technique requires a large amount of calculation when a degree of cross-correlation is calculated to control an audio playback speed, it is difficult to apply the SOLA or WSOLA technique to digital audio playback apparatuses using limited hardware resources.